package com.lavida.project.wage.domain;

import com.lavida.framework.aspectj.lang.annotation.Excel;
import com.lavida.framework.aspectj.lang.annotation.Excel.ColumnType;
import com.lavida.framework.aspectj.lang.annotation.Excel.Type;
import com.lavida.framework.aspectj.lang.annotation.Excels;
import com.lavida.framework.web.domain.BaseEntity;
import com.lavida.project.attendance.domain.Attendance;
import com.lavida.project.companymanager.domain.EmpInformation;
import com.lavida.project.system.attendance.domain.Attendances;
import com.lavida.project.system.attendance.domain.Attendancess;
import com.lavida.project.system.emp.domain.Emp;
import com.lavida.project.system.performance.domain.Performance;

/**
 * 核算新工资 
 * @author Jianchi
 *
 */
public class NewWageAccount extends BaseEntity{
    @Excel(name = "序号", cellType = ColumnType.NUMERIC, prompt = "序号")
    private Long wageAccountId;
    @Excel(name = "工号")
    private Integer jobNum;
    @Excel(name = "姓名")
    private String name;
    @Excel(name = "年份")
    private String year;
    @Excel(name = "月份")
    private String month;
    //@Excel(name = "税前收入")
    //private String preTaxIncome;
    @Excel(name = "其它津贴")
    private Double otherAllowance;
    @Excel(name = "是否计税")
    private String isTax;
    @Excel(name = "绩效")
    private Double performance;
    @Excel(name = "出勤天数")
    private Double ycqts;
    @Excel(name = "休息天数")
    private Double restDays;
    @Excel(name = "工作时长")
    private Double workHours;
    @Excel(name = "加班")
    private Double overtimeCost;
    @Excel(name = "减除")
    private Double deductCost;
    @Excel(name = "其它增减")
    private Double otherCrease;
    @Excel(name = "汇总月税前总收入")
    private Double preTaxTotalIncome;
    @Excel(name = "工资单基本工资")
    private Double basePay;
    @Excel(name = "不计税收入")
    private Double nonTaxIncome;
    @Excel(name = "个税")
    private Double personIncomeTax;
    @Excel(name = "应付工资")
    private Double payableWages;
    @Excel(name = "转账工资税前上限")
    private Double transAccountUpper;
    @Excel(name = "转账工资")
    private Double transAccount;
    @Excel(name = "现金工资")
    private Double cashWage;
    /**员工档案 */
    @Excels({
        @Excel(name = "公司", targetAttr = "company", type = Type.EXPORT),
        @Excel(name = "分公司", targetAttr = "fen_company", type = Type.EXPORT),
        @Excel(name = "部门", targetAttr = "dept", type = Type.EXPORT),
        @Excel(name = "岗位", targetAttr = "gangwei", type = Type.EXPORT),
        @Excel(name = "发放主体", targetAttr = "salaryout", type = Type.EXPORT),
        @Excel(name = "在职状态", targetAttr = "status", type = Type.EXPORT),
        @Excel(name = "税前收入", targetAttr = "taxbefore", type = Type.EXPORT),
        @Excel(name = "基本工资", targetAttr = "basexalary", type = Type.EXPORT),
        @Excel(name = "工龄工资", targetAttr = "standsalary", type = Type.EXPORT),
        @Excel(name = "资历工资", targetAttr = "quasalary", type = Type.EXPORT),
        @Excel(name = "岗位工资", targetAttr = "postsalary", type = Type.EXPORT),
        @Excel(name = "岗位津贴", targetAttr = "postsubsidy", type = Type.EXPORT),
        @Excel(name = "个人社保", targetAttr = "personsumpay", type = Type.EXPORT),
        @Excel(name = "个人养老金", targetAttr = "basicoldpercost", type = Type.EXPORT),
        @Excel(name = "个人医保", targetAttr = "basicdocpercost", type = Type.EXPORT),
        @Excel(name = "地方附加医疗个人保险", targetAttr = "localdocpercost", type = Type.EXPORT),
        @Excel(name = "个人失业保险", targetAttr = "unemploymentpercost", type = Type.EXPORT),
        @Excel(name = "个人公积金", targetAttr = "providentfundpercost", type = Type.EXPORT),
        @Excel(name = "企业社保", targetAttr = "companysumpay", type = Type.EXPORT),
        @Excel(name = "企业养老金", targetAttr = "basicoldcomcost", type = Type.EXPORT),
        @Excel(name = "基本医疗保险", targetAttr = "basicdoccomcost", type = Type.EXPORT),
        @Excel(name = "地方附加医疗保险", targetAttr = "localdoccomcost", type = Type.EXPORT),
        @Excel(name = "企业失业保险", targetAttr = "unemploymentcomcost", type = Type.EXPORT),
        @Excel(name = "企业工伤保险", targetAttr = "injuryinsurancecomcost", type = Type.EXPORT),
        @Excel(name = "企业生育保险", targetAttr = "materyinsurancecomcost", type = Type.EXPORT),
        @Excel(name = "企业残疾保险", targetAttr = "disableinsurancecomcost", type = Type.EXPORT),
        @Excel(name = "企业公积金", targetAttr = "providentfundpercost", type = Type.EXPORT)
    })
    private Emp emp;
    private Performance performances;//绩效
   /* private Attendances attendances;//考勤
*/    private Attendancess attendancess;//考勤
    
	
	public Long getWageAccountId() {
		return wageAccountId;
	}
	public void setWageAccountId(Long wageAccountId) {
		this.wageAccountId = wageAccountId;
	}
	
	public Integer getJobNum() {
		return jobNum;
	}
	public void setJobNum(Integer integer) {
		this.jobNum = jobNum;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getYear() {
		return year;
	}
	public void setYear(String year) {
		this.year = year;
	}
	public String getMonth() {
		return month;
	}
	public void setMonth(String month) {
		this.month = month;
	}
	/*public String getPreTaxIncome() {
		return preTaxIncome;
	}
	public void setPreTaxIncome(String preTaxIncome) {
		this.preTaxIncome = preTaxIncome;
	}*/
	public Double getOtherAllowance() {
		return otherAllowance;
	}
	public void setOtherAllowance(Double otherAllowance) {
		this.otherAllowance = otherAllowance;
	}
	public String getIsTax() {
		return isTax;
	}
	public void setIsTax(String isTax) {
		this.isTax = isTax;
	}
	public Double getPerformance() {
		return performance;
	}
	public void setPerformance(Double performance) {
		this.performance = performance;
	}
	public Double getYcqts() {
		return ycqts;
	}
	public void setYcqts(Double ycqts) {
		this.ycqts = ycqts;
	}
	public Double getRestDays() {
		return restDays;
	}
	public void setRestDays(Double restDays) {
		this.restDays = restDays;
	}
	public Double getWorkHours() {
		return workHours;
	}
	public void setWorkHours(Double workHours) {
		this.workHours = workHours;
	}
	
	public Double getOvertimeCost() {
		return overtimeCost;
	}
	public void setOvertimeCost(Double overtimeCost) {
		this.overtimeCost = overtimeCost;
	}
	public Double getDeductCost() {
		return deductCost;
	}
	public void setDeductCost(Double deductCost) {
		this.deductCost = deductCost;
	}
	public Double getOtherCrease() {
		return otherCrease;
	}
	public void setOtherCrease(Double otherCrease) {
		this.otherCrease = otherCrease;
	}
	public Double getPreTaxTotalIncome() {
		return preTaxTotalIncome;
	}
	public void setPreTaxTotalIncome(Double preTaxTotalIncome) {
		this.preTaxTotalIncome = preTaxTotalIncome;
	}
	public Double getBasePay() {
		return basePay;
	}
	public void setBasePay(Double basePay) {
		this.basePay = basePay;
	}
	public Double getNonTaxIncome() {
		return nonTaxIncome;
	}
	public void setNonTaxIncome(Double nonTaxIncome) {
		this.nonTaxIncome = nonTaxIncome;
	}
	public Double getPersonIncomeTax() {
		return personIncomeTax;
	}
	public void setPersonIncomeTax(Double personIncomeTax) {
		this.personIncomeTax = personIncomeTax;
	}
	public Double getPayableWages() {
		return payableWages;
	}
	public void setPayableWages(Double payableWages) {
		this.payableWages = payableWages;
	}
	public Double getTransAccountUpper() {
		return transAccountUpper;
	}
	public void setTransAccountUpper(Double transAccountUpper) {
		this.transAccountUpper = transAccountUpper;
	}
	public Double getTransAccount() {
		return transAccount;
	}
	public void setTransAccount(Double transAccount) {
		this.transAccount = transAccount;
	}
	public Double getCashWage() {
		return cashWage;
	}
	public void setCashWage(Double cashWage) {
		this.cashWage = cashWage;
	}
	public Emp getEmp() {
		return emp;
	}
	public void setEmp(Emp emp) {
		this.emp = emp;
	}
	
	public Performance getPerformances() {
		return performances;
	}
	public void setPerformances(Performance performances) {
		this.performances = performances;
	}
	
	public Attendancess getAttendancess() {
		return attendancess;
	}
	public void setAttendancess(Attendancess attendancess) {
		this.attendancess = attendancess;
	}
	@Override
	public String toString() {
		return "NewWageAccount [wageAccountId=" + wageAccountId + ", jobNum=" + jobNum + ", name=" + name + ", year="
				+ year + ", month=" + month + ", otherAllowance=" + otherAllowance
				+ ", isTax=" + isTax + ", performance=" + performance + ", ycqts=" + ycqts + ", restDays=" + restDays
				+ ", workHours=" + workHours + ", overtimeCost=" + overtimeCost + ", deductCost=" + deductCost
				+ ", otherCrease=" + otherCrease + ", preTaxTotalIncome=" + preTaxTotalIncome + ", basePay=" + basePay
				+ ", nonTaxIncome=" + nonTaxIncome + ", personIncomeTax=" + personIncomeTax + ", payableWages="
				+ payableWages + ", transAccountUpper=" + transAccountUpper + ", transAccount=" + transAccount
				+ ", cashWage=" + cashWage + ", emp=" + emp + ", performances=" + performances
				+ ",attendancess=" + attendancess + "]";
	}
	
}
